package algo3c2g15.vista;

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JPanel;

import algo3c2g15.controlador.Controlador;

public class Botonera extends JPanel{
	
	private static final long serialVersionUID = 1L;
	/*Alto y ancho de los botones*/
	private static final int alto = 30;
	private static final int ancho = 120;
	
	private JButton atacar = new JButton("ATACAR");
	private JButton mover = new JButton("MOVER");
	private JButton construir = new JButton("CONSTRUIR");
	private JButton pasar = new JButton("PASAR");
	private JButton conquistar = new JButton("CONQUISTAR");
	private JButton salir = new JButton("SALIR");	
	
	public Botonera(){	
		
		this.setVisible(true);	
		this.setLayout(null);	
		this.setPreferredSize(new Dimension(390,102));
		this.setBounds(0,450,390,102);
		this.setBorder(javax.swing.BorderFactory.createRaisedBevelBorder());
		
		configurarBotones();		
		add(atacar);
		add(mover);
		add(construir);
		add(pasar);
		add(conquistar);
		add(salir);			
	}	
	
	private void configurarBotones() {
		atacar.setBounds(5, 15, ancho, alto);//1,1
		pasar.setBounds(135, 15, ancho, alto);//1,2		
		construir.setBounds(265, 15, ancho, alto);//1,3
		mover.setBounds(5, 55, ancho, alto);//2,1		
		conquistar.setBounds(135, 55, ancho, alto);	//2,2
		salir.setBounds(265, 55, ancho, alto);//2,3	
		
		atacar.addActionListener(new EscuchaBotonAtacar());
		pasar.addActionListener(new EscuchaBotonPasarTurno());
		construir.addActionListener(new EscuchaBotonConstruir());
		mover.addActionListener(new EscuchaBotonMover());
		conquistar.addActionListener(new EscuchaBotonConquistar());
		salir.addActionListener(new EscuchaBotonSalir());
	}
	
	private class EscuchaBotonMover implements ActionListener {
		public void actionPerformed(ActionEvent e){
			VentanaRegion.cerrar();
			Estados.setEstado(Estados.MOVER);
			PanelComandos.getInstance().removerPanel();
			PanelComandos.getInstance().setPanelMover();
		}
	}
	
	private class EscuchaBotonPasarTurno implements ActionListener {
		public void actionPerformed(ActionEvent e){
			VentanaRegion.cerrar();
			Estados.setEstado(Estados.MIRANDO);
			
           	Controlador.getInstance().pasaturno(MenuJuego.getInstance().getJuego());
        	
        	//Limpio el panel de Comandos
			PanelComandos.getInstance().removerPanel();
			VentanaRegion.cerrar();
			PanelComandos.getInstance().reset();
			Estados.setEstado(Estados.MIRANDO);
	
		}
	}
	
	private class EscuchaBotonSalir implements ActionListener {
		public void actionPerformed(ActionEvent e){
			VentanaRegion.cerrar();
			VentanaPrincipal.getInstance().setVisible(true);
			MenuJuego.getInstance().dispose();
		}
	}
	
	private class EscuchaBotonConquistar implements ActionListener {	
		public void actionPerformed(ActionEvent e) {
			VentanaRegion.cerrar();
			Estados.setEstado(Estados.CONQUISTAR);
			PanelComandos.getInstance().removerPanel();
			PanelComandos.getInstance().setPanelConquistar();
		}
	}	
	
	private class EscuchaBotonAtacar implements ActionListener {	
		public void actionPerformed(ActionEvent e) {
			VentanaRegion.cerrar();
			Estados.setEstado(Estados.ATACAR);
			PanelComandos.getInstance().removerPanel();
			PanelComandos.getInstance().setPanelAtacar();
		}
	}
	
	private class EscuchaBotonConstruir implements ActionListener {
		public void actionPerformed(ActionEvent e){
			VentanaRegion.cerrar();
			PanelComandos.getInstance().removerPanel();
			PanelComandos.getInstance().setPanelConstruir();
		}
	}
}
	
	
	
	
	
